#ifndef TFLOAT_H
#define TFLOAT_H

#include <iostream>

class TFloat
{
	private:
		double f;
		unsigned int t;

		TFloat& truncate();


	public:

		static unsigned int defaultTSize;

		TFloat(double f, unsigned int t);
		
		TFloat(const TFloat& f);
		
		TFloat(double f);
		TFloat& operator=(double f);
		
		void printDebug(std::ostream&);

		double value() const;

		TFloat operator+(const TFloat& f) const;
		TFloat operator-(const TFloat& f) const;
		TFloat operator*(const TFloat& f) const;
		TFloat operator/(const TFloat& f) const;
		TFloat& operator=(const TFloat& f);
		TFloat& operator+=(const TFloat& f);
		TFloat& operator-=(const TFloat& f);
		TFloat& operator*=(const TFloat& f);
		TFloat& operator/=(const TFloat& f);

		TFloat squareRoot() const;

		bool operator>(const TFloat& f) const;
};

#endif
